#ifndef H_COMMANDS_20070125
#define H_COMMANDS_20070125

#include "macros.h"
#include "types.h"
#include "net.h"

#define COMMAND_LEVELNONE   	0x01
#define COMMAND_LEVELMAST	0x02
#define COMMAND_LEVELADM		0x04
#define COMMAND_LEVELOP		0x08
#define COMMAND_LEVELALL		(COMMAND_LEVELMAST | COMMAND_LEVELADM | COMMAND_LEVELOP)


void process_message (Client *me,  Message msg);
int command_add (const char *cmdname, void (*go)(Client *me, char tail[TAILSIZE]), int level);
int command_add_all (void);
void command_del (const char* cmdname);
void command_del_all (void);

void command_kick (Client *me, char tail[TAILSIZE]);
void command_ban  (Client *me, char tail[TAILSIZE]);
void command_create (Client *suser, char tail[TAILSIZE]);
void command_profile (Client *me, char tail[TAILSIZE]);
void command_part (Client *me, char tail[TAILSIZE]);

#endif
